#!/usr/bin/env python
import RPi.GPIO as GPIO
import time

TiltPin = 11
Rpin   = 12
Gpin   = 13

def setup():
    GPIO.setmode(GPIO.BOARD)       # Numbers GPIOs by physical location
    GPIO.setup(Gpin, GPIO.OUT)     # Set Green Led Pin mode to output
    GPIO.setup(Rpin, GPIO.OUT)     # Set Red Led Pin mode to output
    GPIO.setup(TiltPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)    # Set BtnPin's mode is input, and pull up to high level(3.3V)
    GPIO.add_event_detect(TiltPin, GPIO.BOTH, callback=detect, bouncetime=200)

def Led(x):        #控制双色LED灯闪烁的函数
    if x == 0:
        GPIO.output(Rpin, 1)  #红灯亮
        GPIO.output(Gpin, 0)  #绿灯灭
    if x == 1:
        GPIO.output(Rpin, 0)
        GPIO.output(Gpin, 1)

def Print(x):  #打印按键是否倾斜的提示消息
    if x == 0:
        print('********************')
        print('  倾斜啦!  ', time.asctime(time.localtime(time.time())))
        print('********************')

def detect(chn):
    #Led(GPIO.input(TiltPin))    #控制双色LED灯闪烁
    Print(GPIO.input(TiltPin))  #打印按键是否倾斜的提示消息

def loop():
    while True:
        pass

def destroy():
    GPIO.output(Gpin, GPIO.LOW)       # Green led off
    GPIO.output(Rpin, GPIO.LOW)       # Red led off
    GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
    setup()
    try:
        loop()
    except KeyboardInterrupt:  # When 'Ctrl+C' is pressed, the child program destroy() will be  executed.
        destroy()

